package study.lagou.com.sqlSession;

import java.util.List;

public interface SqlSession {

    /**
     * 查询列表信息
     * @param statementId
     * @param params
     * @param <E>
     * @return
     */
    <E> List<E> selectList(String statementId, Object... params) throws Exception;

    /**
     * 查询单个数据信息
     * @param statementId
     * @param params
     * @param <T>
     * @return
     */
    <T> T selectOne(String statementId,Object... params) throws Exception;

    /**
     * 删除信息
     * @param statementId
     * @param params
     */
    Integer delete(String statementId,Object... params) throws Exception;

    /**
     * 更新数据信息
     * @param statementId
     * @param params
     */
    Integer update(String statementId,Object... params) throws Exception;

    /**
     * 通过接口
     * @param mapperInterfaceClass
     * @param <T>
     * @return
     */
    <T> T getMapper(Class<?> mapperInterfaceClass);
}
